/**
 * @description 微信公众号支付准备
 * @data 微信支付请求成功之后返回的支付参数
 * @payParams {object} 微信支付需要的参数
 * */
function onBridgeReady(data, payParams) {
	// alert('onBridgeReady:==========')
	window.WeixinJSBridge.invoke('getBrandWCPayRequest', {
		appId: data.appId,
		// 公众号名称，由商户传入
		timeStamp: data.timeStamp,
		// 时间戳，自1970年以来的秒数
		nonceStr: data.nonceStr,
		// 随机串
		package: data.package,
		signType: data.signType,
		// 微信签名方式：
		paySign: data.paySign // 微信签名

	}, function(res) {
		// 使用以上方式判断前端返回,微信团队郑重提示：res.err_msg将在用户支付成功后返回    ok，但并不保证它绝对可靠。

		if (res.err_msg === 'get_brand_wcpay_request:ok') {
			// 支付成功页面
			if (payParams.type === 'SHYY') {
				toastMsg('correct', '支付成功');
				setTimeout(() => {
					router.push('/home');
				}, 500);
			} else {
				//'-----测试----支付成功----'
				router.push({
					path: '/success',
					query: {
						orderId: payParams.orderId,
						totalFee: payParams.totalFee
					}
				});
			}
		} else if (res.err_msg === 'get_brand_wcpay_request:fail') {
			return alert(res.err_desc);
		} else {
			// 跳转订单详情
			toastMsg('warn', '支付取消');
		}
	});
}

/**
 * 支付宝支付
 */
function alipay(res) {
	// '调起支付alipay';
	uni.requestPayment({
		provider: 'alipay',
		orderInfo: {
			"dealId": res.dealId,
			"appKey": res.appKey,
			"totalAmount": res.totalAmount,
			"tpOrderId": res.tpOrderId,
			"dealTitle": res.dealTitle,
			"rsaSign": res.rsaSign,
			"bizInfo": res.bizInfo
		}, //订单数据
		success: function(res) {

		},
		fail: function(err) {

		}
	});
}

/**
 * 微信小程序支付
 */
function wxpay(ret, orderid) {
	// 调起支付wxpay
	let res = ret;
	let status = false;
	uni.requestPayment({
		timeStamp: res.timeStamp,
		nonceStr: res.nonceStr,
		package: res.package,
		signType: res.signType,
		paySign: res.paySign,
		appId: res.appId,
		success: function(res) {

			uni.showToast({
				title: '支付成功!'
			});
		},
		fail: function(err) {

		}
	});
}
/**
 * 数组去重
 */
function arrayUnique2(arr, name) {
	var hash = {};
	return arr.reduce(function(item, next) {
		hash[next[name]] ? '' : hash[next[name]] = true && item.push(next);
		return item;
	}, []);
}

export {
	onBridgeReady,
	alipay,
	wxpay,
	arrayUnique2
};